
#include "register/tilingdata_base.h"

namespace optiling {
BEGIN_TILING_DATA_DEF(ScatterReduceTilingData)
  TILING_DATA_FIELD_DEF(int32_t, reduce);
  TILING_DATA_FIELD_DEF(bool, include_self);

  TILING_DATA_FIELD_DEF(int32_t, loopCount);
  TILING_DATA_FIELD_DEF(int32_t, cycles);
  TILING_DATA_FIELD_DEF(int32_t, interval);

  TILING_DATA_FIELD_DEF(int8_t, formerNum);
  TILING_DATA_FIELD_DEF(int16_t, tailLength);

  
  TILING_DATA_FIELD_DEF(int32_t, index_dim);
  TILING_DATA_FIELD_DEF(int32_t, dim);
  TILING_DATA_FIELD_DEF(int32_t, self_size);
  TILING_DATA_FIELD_DEF(int32_t, index_size);
  TILING_DATA_FIELD_DEF_ARR(int32_t, 8, self_ndarray);
  TILING_DATA_FIELD_DEF_ARR(int32_t, 8, index_ndarray);
  TILING_DATA_FIELD_DEF_ARR(int32_t, 8, src_ndarray);

END_TILING_DATA_DEF;

REGISTER_TILING_DATA_CLASS(ScatterReduce, ScatterReduceTilingData)
}
